package com.zenith.api.po.dto.edu;

import com.zenith.common.base.BaseDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

@Data
@EqualsAndHashCode(callSuper = true)
@Schema(name = "EduForumTopicDTO", description = "论坛主题DTO")
public class EduForumTopicDTO extends BaseDTO {
    
    @Schema(description = "主键ID")
    private Long id;
    
    @Schema(description = "课程ID")
    private Long courseId;
    
    @Schema(description = "发帖用户ID")
    private Long userId;
    
    @Schema(description = "用户类型：1-学生 2-教师")
    private Integer userType;
    
    @Schema(description = "主题标题")
    private String title;
    
    @Schema(description = "主题内容")
    private String content;
    
    @Schema(description = "主题类型：1-讨论 2-问答 3-资料分享 4-通知")
    private Integer topicType;
    
    @Schema(description = "是否置顶：0-否 1-是")
    private Integer isTop;
    
    @Schema(description = "是否精华：0-否 1-是")
    private Integer isEssence;
    
    @Schema(description = "浏览次数")
    private Integer viewCount;
    
    @Schema(description = "回复次数")
    private Integer replyCount;
    
    @Schema(description = "点赞次数")
    private Integer likeCount;
    
    @Schema(description = "最后回复时间")
    private LocalDateTime lastReplyTime;
    
    @Schema(description = "最后回复用户ID")
    private Long lastReplyUserId;
    
    @Schema(description = "附件URL列表（JSON数组）")
    private String attachmentUrls;
    
    @Schema(description = "标签，逗号分隔")
    private String tags;
    
    @Schema(description = "状态：1-正常 2-锁定 3-隐藏 4-已删除")
    private Integer status;
}